<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>semitone</title>
    <link rel="stylesheet" type="text/css" href="csound.css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.78.1" />
    <link rel="home" href="index.html" title="The Canonical Csound Reference Manual" />
    <link rel="up" href="OpcodesTop.html" title="Orchestra Opcodes and Operators" />
    <link rel="prev" href="sekere.html" title="sekere" />
    <link rel="next" href="sense.html" title="sense" />
  </head>
  <body>
    <div class="navheader">
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">semitone</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="sekere.html">Prev</a> </td>
          <th width="60%" align="center">Orchestra Opcodes and Operators</th>
          <td width="20%" align="right"> <a accesskey="n" href="sense.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="refentry">
      <a id="semitone"></a>
      <div class="titlepage"></div>
      <a id="IndexSemitone" class="indexterm"></a>
      <div class="refnamediv">
        <h2>
          <span class="refentrytitle">semitone</span>
        </h2>
        <p>semitone — 
      Calculates a factor to raise/lower a frequency by a given amount of semitones.
    </p>
      </div>
      <div class="refsect1">
        <a id="idp144863456"></a>
        <h2>Description</h2>
        <p>
      Calculates a factor to raise/lower a frequency by a given amount of semitones.
    </p>
      </div>
      <div class="refsect1">
        <a id="idp144937616"></a>
        <h2>Syntax</h2>
        <pre class="synopsis"><span class="command"><strong>semitone</strong></span>(x)</pre>
        <p>
      This function works at a-rate, i-rate, and k-rate.
    </p>
      </div>
      <div class="refsect1">
        <a id="idp144940224"></a>
        <h2>Initialization</h2>
        <p>
      <span class="emphasis"><em>x</em></span> -- a value expressed in semitones.
    </p>
      </div>
      <div class="refsect1">
        <a id="idp144941920"></a>
        <h2>Performance</h2>
        <p>
      The value returned by the <span class="emphasis"><em>semitone</em></span> function is a factor. You can multiply a frequency by this factor to raise/lower it by the given amount of semitones.
    </p>
      </div>
      <div class="refsect1">
        <a id="idp144943856"></a>
        <h2>Examples</h2>
        <p>
      Here is an example of the semitone opcode. It uses the file <a class="ulink" href="examples/semitone.csd" target="_top"><em class="citetitle">semitone.csd</em></a>.
      </p>
        <div class="example">
          <a id="idp144945632"></a>
          <p class="title">
            <strong>Example 792. Example of the semitone opcode.</strong>
          </p>
          <div class="example-contents">
            <p>See the sections <a class="link" href="UsingRealTime.html" title="Real-Time Audio"><em class="citetitle">Real-time Audio</em></a> and <a class="link" href="CommandFlags.html" title="Csound command line"><em class="citetitle">Command Line Flags</em></a> for more information on using command line flags.</p>
            <pre class="programlisting">
<span class="csdtag">&lt;CsoundSynthesizer&gt;</span>
<span class="csdtag">&lt;CsOptions&gt;</span>
<span class="comment">; Select audio/midi flags here according to platform</span>
-odac      <span class="comment">;;;realtime audio out</span>
<span class="comment">;-iadc    ;;;uncomment -iadc if realtime audio input is needed too</span>
<span class="comment">; For Non-realtime ouput leave only the line below:</span>
<span class="comment">; -o semitone.wav -W ;;; for file output any platform</span>
<span class="csdtag">&lt;/CsOptions&gt;</span>
<span class="csdtag">&lt;CsInstruments&gt;</span>

<span class="ohdr">sr</span> <span class="op">=</span> 44100
<span class="ohdr">ksmps</span> <span class="op">=</span> 32
<span class="ohdr">nchnls</span> <span class="op">=</span> 2
<span class="ohdr">0dbfs</span>  <span class="op">=</span> 1

<span class="oblock">instr</span> 1

iroot <span class="op">=</span> 440		<span class="comment">; root note is A above middle-C (440 Hz)</span>
ksem  <span class="opc">lfo</span> 12, .5, 5	<span class="comment">; generate sawtooth, go from 5 octaves higher to root</span>
ksm <span class="op">=</span> <span class="opc">int</span>(ksem)		<span class="comment">; produce only whole numbers</span>
kfactor <span class="op">=</span> <span class="opc">semitone</span>(ksm)	<span class="comment">; for semitones</span>
knew <span class="op">=</span> iroot <span class="op">*</span> kfactor
<span class="opc">printk2</span> knew
<span class="opc">printk2</span> kfactor
asig <span class="opc">pluck</span> 1, knew, 1000, 0, 1 
asig <span class="opc">dcblock</span> asig	<span class="comment">;remove DC</span>
     <span class="opc">outs</span> asig, asig

<span class="oblock">endin</span>
<span class="csdtag">&lt;/CsInstruments&gt;</span>
<span class="csdtag">&lt;CsScore&gt;</span>

<span class="stamnt">i</span> 1 0 5
<span class="stamnt">e</span>

<span class="csdtag">&lt;/CsScore&gt;</span>
<span class="csdtag">&lt;/CsoundSynthesizer&gt;</span>
</pre>
          </div>
        </div>
        <p><br class="example-break" />
      Its output should include lines like:
      </p>
        <pre class="screen">
 i1   880.00000
 i1     2.00000
 i1   830.65625
 i1     1.88786
 i1   783.94665
 i1     1.78170
 i1   739.98885
 i1     1.68179
 i1   698.49586
 i1     1.58749
 i1   659.21793
 i1     1.49822
 i1   622.25397
 i1     1.41421
 i1   587.36267
 i1     1.33492
 i1   554.33399
 i1     1.25985
 i1   523.25113
 i1     1.18921
 i1   493.91116
 i1     1.12253
 i1   466.13747
 i1     1.05940
 i1   440.00000
 i1     1.00000
.......
 </pre>
        <p>
    </p>
      </div>
      <div class="refsect1">
        <a id="idp144951328"></a>
        <h2>See Also</h2>
        <p>
      <a class="link" href="cent.html" title="cent"><em class="citetitle">cent</em></a>,
      <a class="link" href="db.html" title="db"><em class="citetitle">db</em></a>,
      <a class="link" href="octave.html" title="octave"><em class="citetitle">octave</em></a>
    </p>
      </div>
      <div class="refsect1">
        <a id="idp144955328"></a>
        <h2>Credits</h2>
        <p>New in version 4.16</p>
      </div>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="sekere.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="OpcodesTop.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="sense.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">sekere </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> sense</td>
        </tr>
      </table>
    </div>
  </body>
</html>
